有“亿点点”钟情Plotly.express-(入门篇)
本文分享Python可视化生态中小编喜爱度排名第三的工具plotly.express,仅次于Matplotlib、Seaborn。
该篇为入门篇,精进看下一篇。
本文目录
1、plotly.express靓图速赏
Dash渲染(plotly.express一大亮点)
结果保存为一个网页,不会代码也可轻松操控数据和可视化,如下。
2、plotly.express简史
本文主角是plotly.express,介绍之前先说说plotly,plotly是一个发布于2013年、开源的可视化库,目前支持Python、R、JavaScript语言的API; 支持Python、Julia 、R语言的Dash; 支持统计、金融、地理及三维图形领域40类图形的可视化; 支持图形在Jupyter notebooks、HTML及Dash中渲染。 但是,plotly参数有“亿点点多”,上手复杂,为了解决这个问题,plotly.express于2019年发布,打出口号“To create interactive graphs in a single line of code”。 plotly.express,是plotly面向python的API plotly.py的高级封装版,追求仅仅一行代码实现plotly的图形,类似Seaborn与Matplotlib的关系。
3、plotly.express支持40+类图表
import plotly.express as px #plotly.express简写为px
print([i for i in dir(px) if not i.startswith('_')]) #借助dir函数输出
共计40+类图形,详细列出:
['Constant', 'IdentityMap', 'NO_COLOR', 'Range', 'absolute_import', 'area', 'bar', 'bar_polar', 'box', 'choropleth', 'choropleth_mapbox', 'colors', 'data', 'defaults', 'density_contour', 'density_heatmap', 'density_mapbox', 'funnel', 'funnel_area', 'get_trendline_results', 'histogram', 'imshow', 'imshow_utils', 'line', 'line_3d', 'line_geo', 'line_mapbox', 'line_polar', 'line_ternary', 'optional_imports', 'parallel_categories', 'parallel_coordinates', 'pd', 'pie', 'scatter', 'scatter_3d', 'scatter_geo', 'scatter_mapbox', 'scatter_matrix', 'scatter_polar', 'scatter_ternary', 'set_mapbox_access_token', 'strip', 'sunburst', 'timeline', 'treemap', 'violin']
4、三步掌握plotly.express(手把手详解)
以箱图(box)绘制为例,详细介绍如何快速使用plotly.express绘图、如何去查找详细文档去调节每一个参数,争取一通百通,40+个图形一一介绍毫无意义,“授人以鱼,不如授人以渔”。
第一步、快速获取plotly.express中图形的demo文档
plotly.express图形demo都在这里:https://plotly.com/python/plotly-express/点击box直达箱图demo文档,如下红圈,即:https://plotly.com/python/box-plots/
第二步、一行代码绘图
绘图使用的数据前5行,
import plotly.express as px #导入plotly.express,简写为px
df = px.data.tips() #导入plotly.expres内置数据data.tips
fig = px.box(df, y="total_bill") #一行代码绘图
fig.show() #图形渲染
第三步、修改任何想修改的图形细节
plotly.express所有支持图形在这里:https://plotly.com/python-api-reference/plotly.express.html#px
import plotly.express as px
df = px.data.tips()
fig = px.box(df, y="total_bill", color='smoker') #color='smoker'指定按smoker列分组箱图
fig.show()
import plotly.express as px
df = px.data.tips()
fig = px.box(df,
y="total_bill",
color='smoker',
color_discrete_sequence=px.colors.qualitative.Set1[2:4]
) #color_discrete_sequence指定调色盘
fig.show()
效果还不错,
Reference
见文中链接,该篇为入门篇,精进看下一篇。
往期精彩戳: